package com.yz.group5.med_booking.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yz.group5.med_booking.entity.Doctor;

import java.util.Map;

public interface DoctorService extends IService<Doctor> {

    /**
     * 分页查询医生列表
     * @param params 查询参数，包含分页信息和搜索条件
     * @return 分页结果
     */
    Page<Doctor> listDoctors(Map<String, Object> params);

    /**
     * 根据ID获取医生信息
     * @param id 医生ID
     * @return 医生实体
     */
    Doctor getDoctorById(Integer id);

    /**
     * 新增医生
     * @param doctor 医生实体
     * @return 是否成功
     */
    boolean saveDoctor(Doctor doctor);

    /**
     * 更新医生信息
     * @param doctor 医生实体
     * @return 是否成功
     */
    boolean updateDoctor(Doctor doctor);

    /**
     * 删除医生
     * @param id 医生ID
     * @return 是否成功
     */
    boolean deleteDoctor(Integer id);

    /**
     * 更新医生状态
     * @param id 医生ID
     * @param status 新状态
     * @return 是否成功
     */
    boolean updateStatus(Integer id, Integer status);
}